﻿using PersistenceLayer.DAL;
using PersistenceLayer.Model;
using SupportLayer.Constantes.PRODUTO;
using SupportLayer.Objetos.Produto;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace ByBikeShop.Administracao.Pages
{
	public partial class Destaques : BaseAdmin
	{
		protected void Page_Load(object sender, EventArgs e)
		{
			base.PageLoad(true);
		}

		public override void CarregaDados()
		{
		}

		public override void CarregaGrid()
		{
			grdDestaques.AutoGenerateColumns = false;
			grdDestaques.Columns.Clear();

			grdDestaques.Columns.Add(Util.Gridview.GeraBoundField(DESTAQUE.ID, ""));
			grdDestaques.Columns.Add(Util.Gridview.GeraBoundField(PRODUTO.MARCA_ID, "Marca", 300));
			grdDestaques.Columns.Add(Util.Gridview.GeraBoundField(PRODUTO.MODELO, "Modelo", 300));
			grdDestaques.Columns.Add(Util.Gridview.GeraBoundField(DESTAQUE.DATA, "Data", 200));
			grdDestaques.Columns.Add(Util.Gridview.GeraButtonField(ButtonType.Image, "Excluir", "deletar", "/Imagens/Icones/delete.svg", 30));
		}

		public override void PopulaGrid()
		{
			DataTable dt = new DataTable();

			dt.Columns.Add(DESTAQUE.ID);
			dt.Columns.Add(PRODUTO.MARCA_ID);
			dt.Columns.Add(PRODUTO.MODELO);
			dt.Columns.Add(DESTAQUE.DATA);

			int x = 0;

			foreach (Produto_Destaque d in new Produto_DestaqueDAL().Listar())
			{
				x++;

				if (x == 6)
					continue;
				dt.Rows.Add(d.ID, d.Produto.Produto_Marca.Descricao, d.Produto.Modelo, d.Data.ToShortDateString());
			}

			grdDestaques.DataSource = dt;
			grdDestaques.DataBind();
			grdDestaques.Columns[0].Visible = false;
		}

		protected void grdDestaques_RowCommand(object sender, GridViewCommandEventArgs e)
		{
			int ID = Util.Gridview.GetID(sender, e);

			Produto_DestaqueDAL pdd = new Produto_DestaqueDAL();

			if (e.CommandName.Equals("deletar"))
				pdd.Deletar(pdd.Obter(ID));

			PopulaGrid();
		}

		protected void grdDestaques_RowDataBound(object sender, GridViewRowEventArgs e)
		{

		}
	}
}